package com.cysd.ewmksbs.viewmodel

import com.cszy.ewmxns.base.BaseViewModel
import com.cysd.ewmksbs.bean.DetailsBean
import com.csylhl.ewmksb.R
import com.cysd.ewmksbs.bean.PageStrBean

class MainViewModel : BaseViewModel() {
    /**
     * 获取详情页detailslist
     */
    fun getDetailsList(): List<DetailsBean> {
        return listOf(
            DetailsBean(
                "数据来源的可靠性",
                "数据库更新频率：如果条形码数据库未及时更新，可能导致商品信息不准确或缺失，\n数据覆盖范围：一些小型厂商或新商品的条形码可能未被收录"
            ),
            DetailsBean(
                "条形码本身的问题",
                "条形码损坏：污损、模糊或打印质量差的条形码可能导致扫描失败或识别错误。 \n条形码类型：某些特殊条形码（如内部编码、定制码）可能无法被通用扫描工具识别。"
            ),
            DetailsBean(
                "扫描工具的质量",
                "软件算法：不同扫码工具的识别能力和数据库支持范围不同，准确性会有差异。\n 硬件性能：手机摄像头质量、光线条件等会影响扫描效果。"
            ),
            DetailsBean(
                "商品信息的动态变化",
                "价格波动：扫描显示的价格可能与实际售价不一致，尤其是促销活动期间。 \n 商品更新：包装、规格等信息可能已更新，但数据库未同步。 如何提高查询准确性？\n  使用知名扫码工具：如微信、支付宝等，它们通常有更完善的数据库。\n  核对多个来源：对比不同平台或商家的商品信息。 \n" +
                        " 检查条形码清晰度：确保条形码完整、无污损。 \n" +
                        " 人工核实：对于重要信息（如价格、规格），建议以商家实际信息为准。"
        ),
            DetailsBean(
                "总结",
                "扫描条形码查询的商品信息在大多数情况下是准确的，但仍可能存在误差。建议结合实际情况进行核实，尤其是在购买高价商品时。"
            ),
        )
    }

    /**
     * 获取详情页detailslist1
     */
    fun getDetailsList1(): List<DetailsBean> {
        return listOf(
            DetailsBean(
                "图像质量问题",
                "分辨率低：图像模糊或像素不足，导致OCR难以识别字符。 \n光线不均匀：过亮、过暗或反光会影响文字区域的清晰度。 \n背景干扰：复杂的背景或与文字颜色相近的背景会干扰识别。",
                R.mipmap.ic_text_details_1
            ),
            DetailsBean(
                "文字排版和字体问题",
                "非常规字体：手写体、艺术字或特殊字体难以被OCR准确识别。 \n文字方向：倾斜、旋转或非水平排列的文字会增加识别难度。 \n密集排版：文字间距过小或行距过窄，导致字符粘连或误识别。",
                R.mipmap.ic_text_details_2
            ),
            DetailsBean(
                "语言和字符集限制",
                "多语言混合：如果文本包含多种语言或特殊符号，OCR可能无法准确处理。 \n生僻字或符号：一些罕见字符或特殊符号可能不在OCR的识别范围内。"
            ),
            DetailsBean(
                "OCR技术局限性",
                "算法精度：不同OCR引擎的识别能力差异较大，低质量引擎容易出错。\n 训练数据不足：OCR模型如果未针对特定场景（如手写、复杂背景）进行充分训练，识别效果会下降。"
            ),
            DetailsBean(
                "文件格式问题",
                "扫描件质量差：纸质文件扫描时可能出现扭曲、阴影或污渍。 \nPDF格式问题：某些PDF文件是图像格式而非文本格式，OCR需要额外处理。",
                R.mipmap.ic_text_details_3
            ),
            DetailsBean(
                "人为因素",
                "书写不规范：手写文字潦草或笔画不清晰。\n 文档损坏：文档有折痕、污渍或缺失部分内容。"
            ),
            DetailsBean(
                "如何提高OCR精度？",
                "优化图像质量：确保图像清晰、光线均匀、背景干净。 \n 选择适合的OCR工具：根据需求选择支持多语言、多字体或特定场景的OCR工具。 \n预处理图像：使用图像处理技术提升识别效果。 \n人工校对：对OCR结果进行人工检查和修正。"
            )
        )
    }

    /**
     * 获取不同页面的标题和hint
     */
    fun getTitleAndHint(page: Int): PageStrBean {
        return when (page) {
            1 -> PageStrBean("自制二维码", "输入你想要生成的内容")
            2 -> PageStrBean("联系人生成", "输入联系信息")
            3 -> PageStrBean("网址生成", "输入网址")
            else -> PageStrBean("二维码生成", "输入你想要生成的内容")
        }
    }



}